package xcmg.device.dao.entity.purchase;

import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.Date;

public class PurchaseRequestDO {

    /**
     * 1：紧急，2：补库，FSBYJ：非三包应急，SBYJ：三包应急，YDJH：月度计划
     */
    private static final String PURCHASE_TYPE_URGENT = "1";

    private String billId;

    private String billNo;

    private String purchaseOrgId;

    private String purchaseOrgName;

    private String supplierOrgId;

    private String supplierOrgName;

    private String dispatcherId;

    private String dispatcherName;

    private String purchaseType;

    private BigDecimal totalValue;

    private BigDecimal settlementValue;

    private String shippingMethod;

    private String shippingMethodId;

    private String receiverName;

    private String receiverTel;

    private String receiverFax;

    private String receiverAddress;

    private String remark;

    private String billStatus;

    private String createId;

    private Date createDate;

    private String createOrgId;

    private String updateId;

    private Date updateDate;

    private String auditId;

    private String auditName;

    private Date auditDate;

    private String auditMessage;

    private Boolean isDel;

    private String statusDesc;

    private String typeDesc;

    private String createName;

    private String updateName;

    private Integer status;

    /**
     * 是否生成销售单（0未生成销售单，1保存草稿，2生成销售单）
     */
    private Integer isSale;

    private Integer inboundEnable;

    private String purchaseGroup;

    private String drawerOrgId;

    private String drawerOrgName;

    private String voucherNo;

    private String sapErrorMsg;

    private Integer sapStatus;

    //提交时间
    private Date submitDate;

    private String attachName;

    private Integer isDirectCast;

    private String country;//国家
    private String model;//机型

    private String buyPlanOrder;

    private Integer isImprove;

    private String sapBillNo;

    private Boolean platCompany;

    /**
     * 订单类型
     */
    private String orderType;

    /** 是否允许新增直投订单 0否1是*/
    private Integer isDirectAdd;

    /** 来源直投采购申请单号*/
    private String directSourceOrder;

    /** 送达方orgid*/
    private String deliveryOrgId;

    /** 送达方名称*/
    private String deliveryOrgName;

    /** 代理商直投达标金额*/
    private BigDecimal directLimit;

    /** 售达方orgid*/
    private String soldOrgId;

    /** 售达方名称*/
    private String soldOrgName;

    /** 新建送货单状态 0未开始1进行中2已完成*/
    private Short sendStatus;

    /**
     * 采购方式二级节点
     * addby huahuwei 2018-9-28
     * @return
     */
    private String purchaseTypeChildId;

    private String purchaseTypeChildName;

    /**
     * 发货方式二级节点
     * addby huahuwei 2018-10-10
     * @return
     */
    private String sendTypeChildId;

    private String sendTypeChildName;

    private String purchaseOrdType;

    private String purchaseOrdTypeDesc;

    /** 生成条码状态 0未完成1部分完成2已完成*/
    private Integer printState;

    /** sap库区*/
    private String sapInArea;

    /** 收货地址编码*/
    private String addressCode;
    /**是否前移*/
    private Integer forward;

//////////////////2018.12.13新增CRM相关字段/////////////////////////
    /**
     * 申请单号（CRM）
     */
    private String applicationNo;

    /**
     * 服务单号（CRM）
     */
    private String serviceNo;

    /**
     * 整改通知单号
     */
    private String notificationNo;

    /**
     * 申请时间
     */
    private Date applicationTime;

    /**
     * 备件编码
     */
    private String deviceNo;

    /**
     * 申请数量
     */
    private Integer applicationQty;

//////////////////2018.12.13新增CRM相关字段/////////////////////////

    /**
     * 申请人
     */
    private String applicationName;


    private String syncCrmFlag;

    private String syncCrmMsg;
    /**
     * 采购计划申请人
     */
    private String planCreateName;
    /**
     * 零件全部入库时间
     * */
    private Date allInboundTime;

    private String purchaseContractNo;

    private Date deliveryDate;

    private String companyType;
    private String sendCompanyCode;
    private String sendCompanyName;
    
    private BigDecimal totalQuantity;
    //采购部门编码
    private String deptCode;
    //采购部门名称
    private String deptName;
    //采购人员编码
    private String purchaseCode;
    //采购人员名称
    private String purchaseName;

    //是自制件：0-否，1-是
    private Integer selfMade;

    @ApiModelProperty(value = "销售组织代码")
    private String salesCode;
    @ApiModelProperty(value = "销售组织名称")
    private String salesCodeDes;

    @ApiModelProperty(value="昆明是否参与结算，1是 0否",name="kunmingSettlement")
    private Integer kunmingSettlement;

    public Integer getKunmingSettlement() {
        return kunmingSettlement;
    }

    public void setKunmingSettlement(Integer kunmingSettlement) {
        this.kunmingSettlement = kunmingSettlement;
    }

    public String getSalesCode() {
        return salesCode;
    }

    public void setSalesCode(String salesCode) {
        this.salesCode = salesCode;
    }

    public String getSalesCodeDes() {
        return salesCodeDes;
    }

    public void setSalesCodeDes(String salesCodeDes) {
        this.salesCodeDes = salesCodeDes;
    }

    public Date getAllInboundTime() {
        return allInboundTime;
    }

    public void setAllInboundTime(Date allInboundTime) {
        this.allInboundTime = allInboundTime;
    }


    public String getApplicationName() {
        return applicationName;
    }

    public void setApplicationName(String applicationName) {
        this.applicationName = applicationName;
    }

    public String getAddressCode() {
        return addressCode;
    }

    public void setAddressCode(String addressCode) {
        this.addressCode = addressCode;
    }

    public String getSapInArea() {
        return sapInArea;
    }

    public void setSapInArea(String sapInArea) {
        this.sapInArea = sapInArea;
    }

    public String getPurchaseTypeChildId() {
        return purchaseTypeChildId;
    }

    public void setPurchaseTypeChildId(String purchaseTypeChildId) {
        this.purchaseTypeChildId = purchaseTypeChildId;
    }

    public String getPurchaseTypeChildName() {
        return purchaseTypeChildName;
    }

    public void setPurchaseTypeChildName(String purchaseTypeChildName) {
        this.purchaseTypeChildName = purchaseTypeChildName;
    }

    public String getOrderType() {
        return orderType;
    }

    public void setOrderType(String orderType) {
        this.orderType = orderType;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public Integer getIsDirectCast() {
        return isDirectCast;
    }

    public void setIsDirectCast(Integer isDirectCast) {
        this.isDirectCast = isDirectCast;
    }

    public Date getSubmitDate() {
        return submitDate;
    }

    public void setSubmitDate(Date submitDate) {
        this.submitDate = submitDate;
    }

    public Integer getIsSale() {
        return isSale;
    }

    public void setIsSale(Integer isSale) {
        this.isSale = isSale;
    }

    public String getBillId() {
        return billId;
    }

    public void setBillId(String billId) {
        this.billId = billId == null ? null : billId.trim();
    }

    public String getBillNo() {
        return billNo;
    }

    public void setBillNo(String billNo) {
        this.billNo = billNo;
    }

    public String getPurchaseOrgId() {
        return purchaseOrgId;
    }

    public void setPurchaseOrgId(String purchaseOrgId) {
        this.purchaseOrgId = purchaseOrgId == null ? null : purchaseOrgId.trim();
    }

    public String getPurchaseOrgName() {
        return purchaseOrgName;
    }

    public void setPurchaseOrgName(String purchaseOrgName) {
        this.purchaseOrgName = purchaseOrgName == null ? null : purchaseOrgName.trim();
    }

    public String getSupplierOrgId() {
        return supplierOrgId;
    }

    public void setSupplierOrgId(String supplierOrgId) {
        this.supplierOrgId = supplierOrgId == null ? null : supplierOrgId.trim();
    }

    public String getSupplierOrgName() {
        return supplierOrgName;
    }

    public void setSupplierOrgName(String supplierOrgName) {
        this.supplierOrgName = supplierOrgName == null ? null : supplierOrgName.trim();
    }

    public String getDispatcherId() {
        return dispatcherId;
    }

    public void setDispatcherId(String dispatcherId) {
        this.dispatcherId = dispatcherId == null ? null : dispatcherId.trim();
    }

    public String getDispatcherName() {
        return dispatcherName;
    }

    public void setDispatcherName(String dispatcherName) {
        this.dispatcherName = dispatcherName == null ? null : dispatcherName.trim();
    }

    public String getPurchaseType() {
        return purchaseType;
    }

    public void setPurchaseType(String purchaseType) {
        this.purchaseType = purchaseType;
    }

    public BigDecimal getTotalValue() {
        return totalValue;
    }

    public void setTotalValue(BigDecimal totalValue) {
        this.totalValue = totalValue;
    }

    public BigDecimal getSettlementValue() {
        return settlementValue;
    }

    public void setSettlementValue(BigDecimal settlementValue) {
        this.settlementValue = settlementValue;
    }

    public String getShippingMethod() {
        return shippingMethod;
    }

    public void setShippingMethod(String shippingMethod) {
        this.shippingMethod = shippingMethod == null ? null : shippingMethod.trim();
    }

    public String getReceiverName() {
        return receiverName;
    }

    public void setReceiverName(String receiverName) {
        this.receiverName = receiverName == null ? null : receiverName.trim();
    }

    public String getReceiverTel() {
        return receiverTel;
    }

    public void setReceiverTel(String receiverTel) {
        this.receiverTel = receiverTel == null ? null : receiverTel.trim();
    }

    public String getReceiverFax() {
        return receiverFax;
    }

    public void setReceiverFax(String receiverFax) {
        this.receiverFax = receiverFax == null ? null : receiverFax.trim();
    }

    public String getReceiverAddress() {
        return receiverAddress;
    }

    public void setReceiverAddress(String receiverAddress) {
        this.receiverAddress = receiverAddress == null ? null : receiverAddress.trim();
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    public String getBillStatus() {
        return billStatus;
    }

    public void setBillStatus(String billStatus) {
        this.billStatus = billStatus;
    }

    public String getCreateId() {
        return createId;
    }

    public void setCreateId(String createId) {
        this.createId = createId == null ? null : createId.trim();
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public String getCreateOrgId() {
        return createOrgId;
    }

    public void setCreateOrgId(String createOrgId) {
        this.createOrgId = createOrgId == null ? null : createOrgId.trim();
    }

    public String getUpdateId() {
        return updateId;
    }

    public void setUpdateId(String updateId) {
        this.updateId = updateId == null ? null : updateId.trim();
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public String getAuditId() {
        return auditId;
    }

    public void setAuditId(String auditId) {
        this.auditId = auditId == null ? null : auditId.trim();
    }

    public String getAuditName() {
        return auditName;
    }

    public void setAuditName(String auditName) {
        this.auditName = auditName;
    }

    public Date getAuditDate() {
        return auditDate;
    }

    public void setAuditDate(Date auditDate) {
        this.auditDate = auditDate;
    }

    public String getAuditMessage() {
        return auditMessage;
    }

    public void setAuditMessage(String auditMessage) {
        this.auditMessage = auditMessage == null ? null : auditMessage.trim();
    }

    public Boolean getDel() {
        return isDel;
    }

    public void setDel(Boolean del) {
        isDel = del;
    }

    public String getStatusDesc() {
        return statusDesc;
    }

    public void setStatusDesc(String statusDesc) {
        this.statusDesc = statusDesc;
    }

    public String getTypeDesc() {
        return typeDesc;
    }

    public void setTypeDesc(String typeDesc) {
        this.typeDesc = typeDesc;
    }

    public String getCreateName() {
        return createName;
    }

    public void setCreateName(String createName) {
        this.createName = createName;
    }

    public String getUpdateName() {
        return updateName;
    }

    public void setUpdateName(String updateName) {
        this.updateName = updateName;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getInboundEnable() {
        return inboundEnable;
    }

    public void setInboundEnable(Integer inboundEnable) {
        this.inboundEnable = inboundEnable;
    }

    public String getPurchaseGroup() {
        return purchaseGroup;
    }

    public void setPurchaseGroup(String purchaseGroup) {
        this.purchaseGroup = purchaseGroup;
    }

    public String getDrawerOrgId() {
        return drawerOrgId;
    }

    public void setDrawerOrgId(String drawerOrgId) {
        this.drawerOrgId = drawerOrgId;
    }

    public String getDrawerOrgName() {
        return drawerOrgName;
    }

    public void setDrawerOrgName(String drawerOrgName) {
        this.drawerOrgName = drawerOrgName;
    }

    public String getVoucherNo() {
        return voucherNo;
    }

    public void setVoucherNo(String voucherNo) {
        this.voucherNo = voucherNo;
    }

    public String getSapErrorMsg() {
        return sapErrorMsg;
    }

    public void setSapErrorMsg(String sapErrorMsg) {
        this.sapErrorMsg = sapErrorMsg;
    }

    public Integer getSapStatus() {
        return sapStatus;
    }

    public void setSapStatus(Integer sapStatus) {
        this.sapStatus = sapStatus;
    }

    public String getAttachName() {
        return attachName;
    }

    public void setAttachName(String attachName) {
        this.attachName = attachName;
    }

    public String getBuyPlanOrder() {
        return buyPlanOrder;
    }

    public void setBuyPlanOrder(String buyPlanOrder) {
        this.buyPlanOrder = buyPlanOrder;
    }

    public Integer getIsImprove() {
        return isImprove;
    }

    public void setIsImprove(Integer isImprove) {
        this.isImprove = isImprove;
    }

    public String getSapBillNo() {
        return sapBillNo;
    }

    public void setSapBillNo(String sapBillNo) {
        this.sapBillNo = sapBillNo;
    }

    public Boolean getPlatCompany() {
        return platCompany;
    }

    public void setPlatCompany(Boolean platCompany) {
        this.platCompany = platCompany;
    }

    public Integer getIsDirectAdd() {
        return isDirectAdd;
    }

    public void setIsDirectAdd(Integer isDirectAdd) {
        this.isDirectAdd = isDirectAdd;
    }

    public String getDirectSourceOrder() {
        return directSourceOrder;
    }

    public void setDirectSourceOrder(String directSourceOrder) {
        this.directSourceOrder = directSourceOrder;
    }

    public String getDeliveryOrgId() {
        return deliveryOrgId;
    }

    public void setDeliveryOrgId(String deliveryOrgId) {
        this.deliveryOrgId = deliveryOrgId;
    }

    public String getDeliveryOrgName() {
        return deliveryOrgName;
    }

    public void setDeliveryOrgName(String deliveryOrgName) {
        this.deliveryOrgName = deliveryOrgName;
    }

    public BigDecimal getDirectLimit() {
        return directLimit;
    }

    public void setDirectLimit(BigDecimal directLimit) {
        this.directLimit = directLimit;
    }

    public String getSoldOrgId() {
        return soldOrgId;
    }

    public void setSoldOrgId(String soldOrgId) {
        this.soldOrgId = soldOrgId;
    }

    public String getSoldOrgName() {
        return soldOrgName;
    }

    public void setSoldOrgName(String soldOrgName) {
        this.soldOrgName = soldOrgName;
    }

    public Short getSendStatus() {
        return sendStatus;
    }

    public void setSendStatus(Short sendStatus) {
        this.sendStatus = sendStatus;
    }

    public String getPurchaseOrdType() {
        return purchaseOrdType;
    }

    public void setPurchaseOrdType(String purchaseOrdType) {
        this.purchaseOrdType = purchaseOrdType;
    }

    public String getPurchaseOrdTypeDesc() {
        return purchaseOrdTypeDesc;
    }

    public void setPurchaseOrdTypeDesc(String purchaseOrdTypeDesc) {
        this.purchaseOrdTypeDesc = purchaseOrdTypeDesc;
    }

    public Integer getPrintState() {
        return printState;
    }

    public void setPrintState(Integer printState) {
        this.printState = printState;
    }

    public String getSendTypeChildId() {
        return sendTypeChildId;
    }

    public void setSendTypeChildId(String sendTypeChildId) {
        this.sendTypeChildId = sendTypeChildId;
    }

    public String getSendTypeChildName() {
        return sendTypeChildName;
    }

    public void setSendTypeChildName(String sendTypeChildName) {
        this.sendTypeChildName = sendTypeChildName;
    }

    public String getShippingMethodId() {
        return shippingMethodId;
    }

    public void setShippingMethodId(String shippingMethodId) {
        this.shippingMethodId = shippingMethodId;
    }

    public String getApplicationNo() {
        return applicationNo;
    }

    public void setApplicationNo(String applicationNo) {
        this.applicationNo = applicationNo;
    }

    public String getServiceNo() {
        return serviceNo;
    }

    public void setServiceNo(String serviceNo) {
        this.serviceNo = serviceNo;
    }

    public String getNotificationNo() {
        return notificationNo;
    }

    public void setNotificationNo(String notificationNo) {
        this.notificationNo = notificationNo;
    }

    public Date getApplicationTime() {
        return applicationTime;
    }

    public void setApplicationTime(Date applicationTime) {
        this.applicationTime = applicationTime;
    }

    public String getDeviceNo() {
        return deviceNo;
    }

    public void setDeviceNo(String deviceNo) {
        this.deviceNo = deviceNo;
    }

    public Integer getApplicationQty() {
        return applicationQty;
    }

    public void setApplicationQty(Integer applicationQty) {
        this.applicationQty = applicationQty;
    }

    /**
     * 是否紧急
     *
     * @return
     */
    public boolean isUrgent() {
        return PURCHASE_TYPE_URGENT.equals(this.purchaseType);
    }


    public String getSyncCrmFlag() {
        return syncCrmFlag;
    }

    public void setSyncCrmFlag(String syncCrmFlag) {
        this.syncCrmFlag = syncCrmFlag;
    }

    public String getSyncCrmMsg() {
        return syncCrmMsg;
    }

    public void setSyncCrmMsg(String syncCrmMsg) {
        this.syncCrmMsg = syncCrmMsg;
    }
    public String getPlanCreateName() {
        return planCreateName;
    }

    public void setPlanCreateName(String planCreateName) {
        this.planCreateName = planCreateName;

    }

    public String getPurchaseContractNo() {
        return purchaseContractNo;
    }

    public void setPurchaseContractNo(String purchaseContractNo) {
        this.purchaseContractNo = purchaseContractNo;
    }

    public Date getDeliveryDate() {
        return deliveryDate;
    }

    public void setDeliveryDate(Date deliveryDate) {
        this.deliveryDate = deliveryDate;
    }

    public Integer getForward() {
        return forward;
    }

    public void setForward(Integer forward) {
        this.forward = forward;
    }

	public String getCompanyType() {
		return companyType;
	}

	public void setCompanyType(String companyType) {
		this.companyType = companyType;
	}

	public String getSendCompanyCode() {
		return sendCompanyCode;
	}

	public void setSendCompanyCode(String sendCompanyCode) {
		this.sendCompanyCode = sendCompanyCode;
	}

	public String getSendCompanyName() {
		return sendCompanyName;
	}

	public void setSendCompanyName(String sendCompanyName) {
		this.sendCompanyName = sendCompanyName;
	}

	public BigDecimal getTotalQuantity() {
		return totalQuantity;
	}

	public void setTotalQuantity(BigDecimal totalQuantity) {
		this.totalQuantity = totalQuantity;
	}

	public String getDeptCode() {
		return deptCode;
	}

	public void setDeptCode(String deptCode) {
		this.deptCode = deptCode;
	}

	public String getDeptName() {
		return deptName;
	}

	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}

	public String getPurchaseCode() {
		return purchaseCode;
	}

	public void setPurchaseCode(String purchaseCode) {
		this.purchaseCode = purchaseCode;
	}

	public String getPurchaseName() {
		return purchaseName;
	}

	public void setPurchaseName(String purchaseName) {
		this.purchaseName = purchaseName;
	}

    public Integer getSelfMade() {
        return selfMade;
    }

    public void setSelfMade(Integer selfMade) {
        this.selfMade = selfMade;
    }
}
